﻿//using Kingdee.BOS;
//using Kingdee.BOS.JSON;
//using Kingdee.BOS.Orm.DataEntity;
//using Newtonsoft.Json.Linq;
//using SDWXServer.KD;
//using SDWXServer.Models;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;
//using System.Web.Http;
//using System.Web.Http.Description;

//namespace SDWXServer.Controllers
//{
//    / <summary> 
//    / 数字工地
//    / </summary>
//    public class SZGDController : ApiController
//    {
//        /// <summary>
//        /// 查询工程合同
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDGongChengHeTongBill(QueryParam query)
//        {
//            var queryResult = new QueryGongChengHeTongResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");

//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var gchtDatas = GetQDGCXMDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (gchtDatas.Count > 0)
//                    {
//                        var lstGCHTKey = new List<string>();
//                        foreach (var obj in gchtDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("GCHT_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var gchtBillObject = wrzs.LoadBillData("BDI_GCXM_GCHT", pkids);

//                            if (gchtBillObject.Length == 0) throw new Exception("加载工程合同为空");
//                            var gchtobj = gchtBillObject[0] as DynamicObject;
//                            var item = WXGCHT.Parse(gchtobj);
//                            RedisManager.SetObject<WXGCHT>(item, new TimeSpan(0, 15, 0));
//                            lstGCHTKey.Add(key);
//                        }
//                        if (lstGCHTKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstGCHTKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstGCHTKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstGCHTKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstGCHTKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstGCHTKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstGCHTKey.Count) break;

//                        var key = lstGCHTKey[index];
//                        var gcht = RedisManager.GetObject<WXGCHT>(key);
//                        if (gcht == null) continue;

//                        queryResult.Bills.Add(gcht);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询项目进度产值(内验)
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDGCJDQRLYBill(QueryParam query)
//        {
//            var queryResult = new QueryGCJDQRLYResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");

//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var gcjdqrlyDatas = GetGCJDQRLYDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (gcjdqrlyDatas.Count > 0)
//                    {
//                        var lstGCJDQRLYKey = new List<string>();
//                        foreach (var obj in gcjdqrlyDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_GCJDQRLY_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var gcjdqrlyBillObject = wrzs.LoadBillData("BDI_GCXM_GCJDQRLY", pkids);

//                            if (gcjdqrlyBillObject.Length == 0) throw new Exception("加载项目进度产值(内验)为空");
//                            var gcjdqrlyobj = gcjdqrlyBillObject[0] as DynamicObject;
//                            var item = WXGCJDQRLY.Parse(gcjdqrlyobj);
//                            if (item.TBRId == 0L)
//                            {
//                                var empInfos = GetEmpInfos(erpUserId);
//                                if (empInfos.Count > 0)
//                                {
//                                    var empInfobj = empInfos[0] as DynamicObject;
//                                    item.TBRId = Convert.ToInt64(empInfobj["FID"]);
//                                    item.TBRNumber = Convert.ToString(empInfobj["FNUMBER"]);
//                                    item.TBRName = Convert.ToString(empInfobj["FNAME"]);
//                                }
//                            }
//                            RedisManager.SetObject<WXGCJDQRLY>(item, new TimeSpan(0, 15, 0));
//                            lstGCJDQRLYKey.Add(key);
//                        }
//                        if (lstGCJDQRLYKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstGCJDQRLYKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCJDQRLYKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstGCJDQRLYKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstGCJDQRLYKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstGCJDQRLYKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstGCJDQRLYKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCJDQRLYKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstGCJDQRLYKey.Count) break;

//                        var key = lstGCJDQRLYKey[index];
//                        var gcjdqrly = RedisManager.GetObject<WXGCJDQRLY>(key);
//                        if (gcjdqrly == null) continue;

//                        queryResult.Bills.Add(gcjdqrly);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询项目进度产值(外验)
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDGCJDQRBill(QueryParam query)
//        {
//            var queryResult = new QueryGCJDQRResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var gcjdqrDatas = GetGCJDQRDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (gcjdqrDatas.Count > 0)
//                    {
//                        var lstGCJDQRKey = new List<string>();
//                        foreach (var obj in gcjdqrDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_GCJDQR_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var gcjdqrBillObject = wrzs.LoadBillData("BDI_GCXM_GCJDQR", pkids);

//                            if (gcjdqrBillObject.Length == 0) throw new Exception("加载项目进度产值(外验)为空");
//                            var gcjdqrobj = gcjdqrBillObject[0] as DynamicObject;
//                            var item = WXGCJDQR.Parse(gcjdqrobj);
//                            RedisManager.SetObject<WXGCJDQR>(item, new TimeSpan(0, 15, 0));
//                            lstGCJDQRKey.Add(key);
//                        }
//                        if (lstGCJDQRKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstGCJDQRKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCJDQRKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstGCJDQRKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstGCJDQRKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstGCJDQRKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstGCJDQRKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCJDQRKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstGCJDQRKey.Count) break;

//                        var key = lstGCJDQRKey[index];
//                        var gcjdqr = RedisManager.GetObject<WXGCJDQR>(key);
//                        if (gcjdqr == null) continue;

//                        queryResult.Bills.Add(gcjdqr);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询工程签证变更单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDGCQZBGBill(QueryParam query)
//        {
//            var queryResult = new QueryGCQZBGResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var gcqzbgDatas = GetGCQZBGDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (gcqzbgDatas.Count > 0)
//                    {
//                        var lstGCQZBGKey = new List<string>();
//                        foreach (var obj in gcqzbgDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_GCQZBG_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var gcqzbgBillObject = wrzs.LoadBillData("BDI_GCXM_GCQZ", pkids);

//                            if (gcqzbgBillObject.Length == 0) throw new Exception("加载工程签证变更单为空");
//                            var gcqzbgobj = gcqzbgBillObject[0] as DynamicObject;
//                            var item = WXGCQZBG.Parse(gcqzbgobj);
//                            RedisManager.SetObject<WXGCQZBG>(item, new TimeSpan(0, 15, 0));
//                            lstGCQZBGKey.Add(key);
//                        }
//                        if (lstGCQZBGKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstGCQZBGKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCQZBGKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstGCQZBGKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstGCQZBGKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstGCQZBGKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstGCQZBGKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCQZBGKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstGCQZBGKey.Count) break;

//                        var key = lstGCQZBGKey[index];
//                        var gcqzbg = RedisManager.GetObject<WXGCQZBG>(key);
//                        if (gcqzbg == null) continue;

//                        queryResult.Bills.Add(gcqzbg);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询采购合同
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDCGHTBill(QueryParam query)
//        {
//            var queryResult = new QueryCGHTResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var cghtDatas = GetCGHTDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (cghtDatas.Count > 0)
//                    {
//                        var lstCGHTKey = new List<string>();
//                        foreach (var obj in cghtDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_CGHT_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var cghtBillObject = wrzs.LoadBillData("BDI_GCXM_CGHT", pkids);

//                            if (cghtBillObject.Length == 0) throw new Exception("加载采购合同为空");
//                            var cghtobj = cghtBillObject[0] as DynamicObject;
//                            var item = WXCGHT.Parse(cghtobj);
//                            RedisManager.SetObject<WXCGHT>(item, new TimeSpan(0, 15, 0));
//                            lstCGHTKey.Add(key);
//                        }
//                        if (lstCGHTKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstCGHTKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstCGHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstCGHTKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstCGHTKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstCGHTKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstCGHTKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstCGHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstCGHTKey.Count) break;

//                        var key = lstCGHTKey[index];
//                        var cght = RedisManager.GetObject<WXCGHT>(key);
//                        if (cght == null) continue;

//                        queryResult.Bills.Add(cght);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询材料进场验收单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDCLJCYSBill(QueryParam query)
//        {
//            var queryResult = new QueryCLJCYSResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var cljcysDatas = GetCLJCYSDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (cljcysDatas.Count > 0)
//                    {
//                        var lstCLJCYSKey = new List<string>();
//                        foreach (var obj in cljcysDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_CLJCYS_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var cljcysBillObject = wrzs.LoadBillData("BDI_GCXM_CLJCYS", pkids);

//                            if (cljcysBillObject.Length == 0) throw new Exception("加载材料进场验收单为空");
//                            var cljcysobj = cljcysBillObject[0] as DynamicObject;
//                            var item = WXCLJCYS.Parse(cljcysobj);
//                            RedisManager.SetObject<WXCLJCYS>(item, new TimeSpan(0, 15, 0));
//                            lstCLJCYSKey.Add(key);
//                        }
//                        if (lstCLJCYSKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstCLJCYSKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstCLJCYSKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstCLJCYSKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstCLJCYSKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstCLJCYSKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstCLJCYSKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstCLJCYSKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstCLJCYSKey.Count) break;

//                        var key = lstCLJCYSKey[index];
//                        var cljcys = RedisManager.GetObject<WXCLJCYS>(key);
//                        if (cljcys == null) continue;

//                        queryResult.Bills.Add(cljcys);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询分包劳务领用单（项目材料领用单）
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDXMCLLYBill(QueryParam query)
//        {
//            var queryResult = new QueryXMCLLYResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var xmcllyDatas = GetXMCLLYDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (xmcllyDatas.Count > 0)
//                    {
//                        var lstXMCLLYKey = new List<string>();
//                        foreach (var obj in xmcllyDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_XMCLLY_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var xmcllyBillObject = wrzs.LoadBillData("BDI_GCXM_XMCLLY", pkids);

//                            if (xmcllyBillObject.Length == 0) throw new Exception("加载项目材料领用单为空");
//                            var xmcllyobj = xmcllyBillObject[0] as DynamicObject;
//                            var item = WXXMCLLY.Parse(xmcllyobj);
//                            RedisManager.SetObject<WXXMCLLY>(item, new TimeSpan(0, 15, 0));
//                            lstXMCLLYKey.Add(key);
//                        }
//                        if (lstXMCLLYKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstXMCLLYKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXMCLLYKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstXMCLLYKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstXMCLLYKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstXMCLLYKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstXMCLLYKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXMCLLYKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstXMCLLYKey.Count) break;

//                        var key = lstXMCLLYKey[index];
//                        var xmclly = RedisManager.GetObject<WXXMCLLY>(key);
//                        if (xmclly == null) continue;

//                        queryResult.Bills.Add(xmclly);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询分包劳务退回单（项目余料退库单）
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDXMCLTHBill(QueryParam query)
//        {
//            var queryResult = new QueryXMCLTHResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var xmclthDatas = GetXMCLTHDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (xmclthDatas.Count > 0)
//                    {
//                        var lstXMCLTHKey = new List<string>();
//                        foreach (var obj in xmclthDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_XMCLTH_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var xmclthBillObject = wrzs.LoadBillData("BDI_GCXM_XMCLTH", pkids);

//                            if (xmclthBillObject.Length == 0) throw new Exception("加载项目材料退库单为空");
//                            var xmclthobj = xmclthBillObject[0] as DynamicObject;
//                            var item = WXXMCLTH.Parse(xmclthobj);
//                            RedisManager.SetObject<WXXMCLTH>(item, new TimeSpan(0, 15, 0));
//                            lstXMCLTHKey.Add(key);
//                        }
//                        if (lstXMCLTHKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstXMCLTHKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXMCLTHKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstXMCLTHKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstXMCLTHKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstXMCLTHKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstXMCLTHKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXMCLTHKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstXMCLTHKey.Count) break;

//                        var key = lstXMCLTHKey[index];
//                        var xmclth = RedisManager.GetObject<WXXMCLTH>(key);
//                        if (xmclth == null) continue;

//                        queryResult.Bills.Add(xmclth);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询机械进场登记（租赁进场登记）
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDJXSBJCBill(QueryParam query)
//        {
//            var queryResult = new QueryJXSBJCResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var jxsbjcDatas = GetJXSBJCDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (jxsbjcDatas.Count > 0)
//                    {
//                        var lstJXSBJCKey = new List<string>();
//                        foreach (var obj in jxsbjcDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_JXSBJC_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var jxsbjcBillObject = wrzs.LoadBillData("BDI_GCXM_JXSBJC", pkids);

//                            if (jxsbjcBillObject.Length == 0) throw new Exception("加载租赁进场登记单为空");
//                            var jxsbjcobj = jxsbjcBillObject[0] as DynamicObject;
//                            var item = WXJXSBJC.Parse(jxsbjcobj);
//                            RedisManager.SetObject<WXJXSBJC>(item, new TimeSpan(0, 15, 0));
//                            lstJXSBJCKey.Add(key);
//                        }
//                        if (lstJXSBJCKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstJXSBJCKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJXSBJCKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstJXSBJCKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstJXSBJCKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstJXSBJCKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstJXSBJCKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJXSBJCKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstJXSBJCKey.Count) break;

//                        var key = lstJXSBJCKey[index];
//                        var jxsbjc = RedisManager.GetObject<WXJXSBJC>(key);
//                        if (jxsbjc == null) continue;

//                        queryResult.Bills.Add(jxsbjc);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询租赁合同
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDZLHTBill(QueryParam query)
//        {
//            var queryResult = new QueryZLHTResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var zlhtDatas = GetZLHTDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (zlhtDatas.Count > 0)
//                    {
//                        var lstZLHTKey = new List<string>();
//                        foreach (var obj in zlhtDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_ZLHT_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var zlhtBillObject = wrzs.LoadBillData("BDI_GCXM_ZLHT", pkids);

//                            if (zlhtBillObject.Length == 0) throw new Exception("加载租赁合同单为空");
//                            var zlhtobj = zlhtBillObject[0] as DynamicObject;
//                            var item = WXZLHT.Parse(zlhtobj);
//                            RedisManager.SetObject<WXZLHT>(item, new TimeSpan(0, 15, 0));
//                            lstZLHTKey.Add(key);
//                        }
//                        if (lstZLHTKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstZLHTKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstZLHTKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstZLHTKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstZLHTKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstZLHTKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstZLHTKey.Count) break;

//                        var key = lstZLHTKey[index];
//                        var zlht = RedisManager.GetObject<WXZLHT>(key);
//                        if (zlht == null) continue;

//                        queryResult.Bills.Add(zlht);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询机械出场登记（租赁结算与归还）
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDJXSBTCDJBill(QueryParam query)
//        {
//            var queryResult = new QueryJXSBTCDJResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var jxsbtcdjDatas = GetJXSBTCDJDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (jxsbtcdjDatas.Count > 0)
//                    {
//                        var lstJXSBTCDJKey = new List<string>();
//                        foreach (var obj in jxsbtcdjDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_JXSBTCDJ_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var jxsbtcdjBillObject = wrzs.LoadBillData("BDI_GCXM_JXSBTCDJ", pkids);

//                            if (jxsbtcdjBillObject.Length == 0) throw new Exception("加载租赁结算与归还单为空");
//                            var jxsbtcdjobj = jxsbtcdjBillObject[0] as DynamicObject;
//                            var item = WXJXSBTCDJ.Parse(jxsbtcdjobj);
//                            RedisManager.SetObject<WXJXSBTCDJ>(item, new TimeSpan(0, 15, 0));
//                            lstJXSBTCDJKey.Add(key);
//                        }
//                        if (lstJXSBTCDJKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstJXSBTCDJKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJXSBTCDJKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstJXSBTCDJKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstJXSBTCDJKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstJXSBTCDJKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstJXSBTCDJKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJXSBTCDJKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstJXSBTCDJKey.Count) break;

//                        var key = lstJXSBTCDJKey[index];
//                        var jxsbtcdj = RedisManager.GetObject<WXJXSBTCDJ>(key);
//                        if (jxsbtcdj == null) continue;

//                        queryResult.Bills.Add(jxsbtcdj);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询安全检查记录单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDAQJCJLBill(QueryParam query)
//        {
//            var queryResult = new QueryAQJCJLResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var aqjcjlDatas = GetAQJCJLDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (aqjcjlDatas.Count > 0)
//                    {
//                        var lstAQJCJLKey = new List<string>();
//                        foreach (var obj in aqjcjlDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_AQJCJL_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var aqjcjlBillObject = wrzs.LoadBillData("BDI_GCXM_AQJCJL", pkids);

//                            if (aqjcjlBillObject.Length == 0) throw new Exception("加载安全检查记录单为空");
//                            var aqjcjlobj = aqjcjlBillObject[0] as DynamicObject;
//                            var item = WXAQJCJL.Parse(aqjcjlobj);
//                            RedisManager.SetObject<WXAQJCJL>(item, new TimeSpan(0, 15, 0));
//                            lstAQJCJLKey.Add(key);
//                        }
//                        if (lstAQJCJLKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstAQJCJLKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstAQJCJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstAQJCJLKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstAQJCJLKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstAQJCJLKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstAQJCJLKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstAQJCJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstAQJCJLKey.Count) break;

//                        var key = lstAQJCJLKey[index];
//                        var aqjcjl = RedisManager.GetObject<WXAQJCJL>(key);
//                        if (aqjcjl == null) continue;

//                        queryResult.Bills.Add(aqjcjl);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询质量检查记录单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDZLJCJLBill(QueryParam query)
//        {
//            var queryResult = new QueryZLJCJLResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var zljcjlDatas = GetZLJCJLDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (zljcjlDatas.Count > 0)
//                    {
//                        var lstZLJCJLKey = new List<string>();
//                        foreach (var obj in zljcjlDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_ZLJCJL_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var zljcjlBillObject = wrzs.LoadBillData("BDI_GCXM_ZLJCJL", pkids);

//                            if (zljcjlBillObject.Length == 0) throw new Exception("加载质量检查记录单为空");
//                            var zljcjlobj = zljcjlBillObject[0] as DynamicObject;
//                            var item = WXZLJCJL.Parse(zljcjlobj);
//                            RedisManager.SetObject<WXZLJCJL>(item, new TimeSpan(0, 15, 0));
//                            lstZLJCJLKey.Add(key);
//                        }
//                        if (lstZLJCJLKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstZLJCJLKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLJCJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstZLJCJLKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstZLJCJLKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstZLJCJLKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstZLJCJLKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLJCJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstZLJCJLKey.Count) break;

//                        var key = lstZLJCJLKey[index];
//                        var zljcjl = RedisManager.GetObject<WXZLJCJL>(key);
//                        if (zljcjl == null) continue;

//                        queryResult.Bills.Add(zljcjl);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询质量整改记录单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDZLZGJLBill(QueryParam query)
//        {
//            var queryResult = new QueryZLZGJLResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var zlzgjlDatas = GetZLZGJLDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (zlzgjlDatas.Count > 0)
//                    {
//                        var lstZLZGJLKey = new List<string>();
//                        foreach (var obj in zlzgjlDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_ZLZGJL_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var zlzgjlBillObject = wrzs.LoadBillData("BDI_GCXM_ZLZGJL", pkids);

//                            if (zlzgjlBillObject.Length == 0) throw new Exception("加载质量整改记录单为空");
//                            var zlzgjlobj = zlzgjlBillObject[0] as DynamicObject;
//                            var item = WXZLZGJL.Parse(zlzgjlobj);
//                            RedisManager.SetObject<WXZLZGJL>(item, new TimeSpan(0, 15, 0));
//                            lstZLZGJLKey.Add(key);
//                        }
//                        if (lstZLZGJLKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstZLZGJLKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLZGJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstZLZGJLKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstZLZGJLKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstZLZGJLKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstZLZGJLKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLZGJLKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstZLZGJLKey.Count) break;

//                        var key = lstZLZGJLKey[index];
//                        var zlzgjl = RedisManager.GetObject<WXZLZGJL>(key);
//                        if (zlzgjl == null) continue;

//                        queryResult.Bills.Add(zlzgjl);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询形象进度单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDXXJDBill(QueryParam query)
//        {
//            var queryResult = new QueryXXJDResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var xxjdDatas = GetXXJDDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (xxjdDatas.Count > 0)
//                    {
//                        var lstXXJDKey = new List<string>();
//                        foreach (var obj in xxjdDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_XXJD_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var xxjdBillObject = wrzs.LoadBillData("BDI_GCXM_XXJD", pkids);

//                            if (xxjdBillObject.Length == 0) throw new Exception("加载形象进度单为空");
//                            var xxjdobj = xxjdBillObject[0] as DynamicObject;
//                            var item = WXXXJD.Parse(xxjdobj);
//                            RedisManager.SetObject<WXXXJD>(item, new TimeSpan(0, 15, 0));
//                            lstXXJDKey.Add(key);
//                        }
//                        if (lstXXJDKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstXXJDKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXXJDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstXXJDKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstXXJDKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstXXJDKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstXXJDKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstXXJDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstXXJDKey.Count) break;

//                        var key = lstXXJDKey[index];
//                        var xxjd = RedisManager.GetObject<WXXXJD>(key);
//                        if (xxjd == null) continue;

//                        queryResult.Bills.Add(xxjd);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询总进度计划单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDZJDJHWFBill(QueryParam query)
//        {
//            var queryResult = new QueryZJDJHWFResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var formId = "BDI_GCXM_ZJDJHWF";
//                    var zjdjhDatas = GetZJDJHWFDatas(query.BeginDate, query.EndDate, lstGCXMId, formId);
//                    if (zjdjhDatas.Count > 0)
//                    {
//                        var lstZJDJHWFKey = new List<string>();
//                        foreach (var obj in zjdjhDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var entryId = Convert.ToInt64(obj["FEntryId"]);
//                            var key = string.Format("SZGD_ZJDJHWF_{0}_{1}", Convert.ToInt64(obj["FId"]), entryId);
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var zjdjhBillObject = wrzs.LoadBillData("BDI_GCXM_ZJDJHWF", pkids);

//                            if (zjdjhBillObject.Length == 0) throw new Exception("加载总进度计划单为空");
//                            var zjdjhobj = zjdjhBillObject[0] as DynamicObject;
//                            var item = WXZJDJHWF.Parse(zjdjhobj, entryId);
//                            RedisManager.SetObject<WXZJDJHWF>(item, new TimeSpan(0, 15, 0));
//                            lstZJDJHWFKey.Add(key);
//                        }
//                        if (lstZJDJHWFKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstZJDJHWFKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZJDJHWFKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstZJDJHWFKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstZJDJHWFKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstZJDJHWFKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstZJDJHWFKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZJDJHWFKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstZJDJHWFKey.Count) break;

//                        var key = lstZJDJHWFKey[index];
//                        var zjdjh = RedisManager.GetObject<WXZJDJHWF>(key);
//                        if (zjdjh == null) continue;

//                        queryResult.Bills.Add(zjdjh);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询月进度计划单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDYJDJHWFBill(QueryParam query)
//        {
//            var queryResult = new QueryYJDJHWFResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var formId = "BDI_GCXM_YJDJHWF";
//                    var yjdjhDatas = GetZJDJHWFDatas(query.BeginDate, query.EndDate, lstGCXMId, formId);
//                    if (yjdjhDatas.Count > 0)
//                    {
//                        var lstYJDJHWFKey = new List<string>();
//                        foreach (var obj in yjdjhDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var entryId = Convert.ToInt64(obj["FEntryId"]);
//                            var key = string.Format("SZGD_YJDJHWF_{0}_{1}", Convert.ToInt64(obj["FId"]), entryId);
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var yjdjhBillObject = wrzs.LoadBillData("BDI_GCXM_YJDJHWF", pkids);

//                            if (yjdjhBillObject.Length == 0) throw new Exception("加载月进度计划单为空");
//                            var yjdjhobj = yjdjhBillObject[0] as DynamicObject;
//                            var item = WXYJDJHWF.Parse(yjdjhobj, entryId);
//                            RedisManager.SetObject<WXYJDJHWF>(item, new TimeSpan(0, 15, 0));
//                            lstYJDJHWFKey.Add(key);
//                        }
//                        if (lstYJDJHWFKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstYJDJHWFKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstYJDJHWFKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstYJDJHWFKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstYJDJHWFKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstYJDJHWFKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstYJDJHWFKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstYJDJHWFKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstYJDJHWFKey.Count) break;

//                        var key = lstYJDJHWFKey[index];
//                        var yjdjh = RedisManager.GetObject<WXYJDJHWF>(key);
//                        if (yjdjh == null) continue;

//                        queryResult.Bills.Add(yjdjh);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询进度计划汇报单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDJDJHHBDBill(QueryParam query)
//        {
//            var queryResult = new QueryJDJHHBDResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var jdjhhbdDatas = GetJDJHHBDDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (jdjhhbdDatas.Count > 0)
//                    {
//                        var lstJDJHHBDKey = new List<string>();
//                        foreach (var obj in jdjhhbdDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_JDJHHBD_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var yjdjhBillObject = wrzs.LoadBillData("BDI_GCXM_JDJHHBD", pkids);

//                            if (yjdjhBillObject.Length == 0) throw new Exception("加载进度计划汇报单为空");
//                            var yjdjhobj = yjdjhBillObject[0] as DynamicObject;
//                            var item = WXJDJHHBD.Parse(yjdjhobj);
//                            RedisManager.SetObject<WXJDJHHBD>(item, new TimeSpan(0, 15, 0));
//                            lstJDJHHBDKey.Add(key);
//                        }
//                        if (lstJDJHHBDKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstJDJHHBDKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJDJHHBDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstJDJHHBDKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstJDJHHBDKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstJDJHHBDKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstJDJHHBDKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJDJHHBDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstJDJHHBDKey.Count) break;

//                        var key = lstJDJHHBDKey[index];
//                        var jdjhhbd = RedisManager.GetObject<WXJDJHHBD>(key);
//                        if (jdjhhbd == null) continue;

//                        queryResult.Bills.Add(jdjhhbd);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询分包合同单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDFBHTBill(QueryParam query)
//        {
//            var queryResult = new QueryFBHTResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var fbhtDatas = GetFBHTDatas(query.BeginDate, query.EndDate, lstGCXMId);
//                    if (fbhtDatas.Count > 0)
//                    {
//                        var lstFBHTKey = new List<string>();
//                        foreach (var obj in fbhtDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_FBHT_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var fbhtBillObject = wrzs.LoadBillData("BDI_GCXM_FBHT", pkids);

//                            if (fbhtBillObject.Length == 0) throw new Exception("加载分包合同为空");
//                            var fbhtobj = fbhtBillObject[0] as DynamicObject;
//                            var item = WXFBHT.Parse(fbhtobj);
//                            RedisManager.SetObject<WXFBHT>(item, new TimeSpan(0, 15, 0));
//                            lstFBHTKey.Add(key);
//                        }
//                        if (lstFBHTKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstFBHTKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstFBHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstFBHTKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstFBHTKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstFBHTKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstFBHTKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstFBHTKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstFBHTKey.Count) break;

//                        var key = lstFBHTKey[index];
//                        var fbht = RedisManager.GetObject<WXFBHT>(key);
//                        if (fbht == null) continue;

//                        queryResult.Bills.Add(fbht);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询分包进度确认单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDFBJDQRBill(QueryParam query)
//        {
//            var queryResult = new QueryFBJDQRResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var fbjdqrDatas = GetFBJDQRDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (fbjdqrDatas.Count > 0)
//                    {
//                        var lstFBJDQRKey = new List<string>();
//                        foreach (var obj in fbjdqrDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_FBJDQR_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var fbjdqrBillObject = wrzs.LoadBillData("BDI_GCXM_FBJDQR", pkids);

//                            if (fbjdqrBillObject.Length == 0) throw new Exception("加载分包进度确认单为空");
//                            var fbjdqrobj = fbjdqrBillObject[0] as DynamicObject;
//                            var item = WXFBJDQR.Parse(fbjdqrobj);
//                            RedisManager.SetObject<WXFBJDQR>(item, new TimeSpan(0, 15, 0));
//                            lstFBJDQRKey.Add(key);
//                        }
//                        if (lstFBJDQRKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstFBJDQRKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstFBJDQRKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstFBJDQRKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstFBJDQRKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstFBJDQRKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstFBJDQRKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstFBJDQRKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstFBJDQRKey.Count) break;

//                        var key = lstFBJDQRKey[index];
//                        var fbjdqr = RedisManager.GetObject<WXFBJDQR>(key);
//                        if (fbjdqr == null) continue;

//                        queryResult.Bills.Add(fbjdqr);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询施工日志
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDSGRZBill(QueryParam query)
//        {
//            var queryResult = new QuerySGRZResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var sgrzDatas = GetSGRZDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (sgrzDatas.Count > 0)
//                    {
//                        var lstSGRZKey = new List<string>();
//                        foreach (var obj in sgrzDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_SGRZ_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var sgrzBillObject = wrzs.LoadBillData("BDI_GCXM_SGRZ", pkids);

//                            if (sgrzBillObject.Length == 0) throw new Exception("加载施工日志单为空");
//                            var sgrzobj = sgrzBillObject[0] as DynamicObject;
//                            var item = WXSGRZ.Parse(sgrzobj);
//                            RedisManager.SetObject<WXSGRZ>(item, new TimeSpan(0, 15, 0));
//                            lstSGRZKey.Add(key);
//                        }
//                        if (lstSGRZKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstSGRZKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSGRZKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstSGRZKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstSGRZKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstSGRZKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstSGRZKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSGRZKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstSGRZKey.Count) break;

//                        var key = lstSGRZKey[index];
//                        var sgrz = RedisManager.GetObject<WXSGRZ>(key);
//                        if (sgrz == null) continue;

//                        queryResult.Bills.Add(sgrz);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询采购入库单
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDSTKInStockBill(QueryParam query)
//        {
//            var queryResult = new QuerySTKInStockResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");
//                if (query.BeginDate.Year < 2000) query.BeginDate = DateTime.Now.Date;
//                if (query.EndDate.Year < 2000) query.EndDate = DateTime.Now.Date;

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var span = query.EndDate - query.BeginDate;
//                if (span.TotalDays > 180) throw new Exception("只允许查询180天以内的数据");

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                var BillId = 0L;
//                if (query.BillId != 0L)
//                {
//                    BillId = query.BillId;
//                }
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var stkInStockDatas = GetSTKInStockDatas(query.BeginDate, query.EndDate, lstGCXMId, BillId);
//                    if (stkInStockDatas.Count > 0)
//                    {
//                        var lstSTKInStockKey = new List<string>();
//                        foreach (var obj in stkInStockDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_STKInStock_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var stkInStockBillObject = wrzs.LoadBillData("STK_InStock", pkids);

//                            if (stkInStockBillObject.Length == 0) throw new Exception("加载采购入库单为空");
//                            var stkInStockobj = stkInStockBillObject[0] as DynamicObject;
//                            var item = WXSTKInStock.Parse(stkInStockobj);
//                            RedisManager.SetObject<WXSTKInStock>(item, new TimeSpan(0, 15, 0));
//                            lstSTKInStockKey.Add(key);
//                        }
//                        if (lstSTKInStockKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstSTKInStockKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSTKInStockKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstSTKInStockKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstSTKInStockKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstSTKInStockKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstSTKInStockKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSTKInStockKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstSTKInStockKey.Count) break;

//                        var key = lstSTKInStockKey[index];
//                        var stkInStock = RedisManager.GetObject<WXSTKInStock>(key);
//                        if (stkInStock == null) continue;

//                        queryResult.Bills.Add(stkInStock);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询工程项目
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDGCXMBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryGCXMResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var lstGCXMId = GetGCXMId(erpUserId);
//                if (lstGCXMId.Count == 0) throw new Exception("查询不到用户的项目信息");
//                var gcxmName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var gcxmDatas = GetGCXMDatas(lstGCXMId, gcxmName);
//                    if (gcxmDatas.Count > 0)
//                    {
//                        var lstGCXMKey = new List<string>();
//                        foreach (var obj in gcxmDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_GCXM_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var gcxmBillObject = wrzs.LoadBillData("BDI_GCXM", pkids);

//                            if (gcxmBillObject.Length == 0) throw new Exception("加载工程项目为空");
//                            var gcxmobj = gcxmBillObject[0] as DynamicObject;
//                            var item = WXGCXM.Parse(gcxmobj);
//                            RedisManager.SetObject<WXGCXM>(item, new TimeSpan(0, 15, 0));
//                            lstGCXMKey.Add(key);
//                        }
//                        if (lstGCXMKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstGCXMKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstGCXMKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstGCXMKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstGCXMKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstGCXMKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstGCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstGCXMKey.Count) break;

//                        var key = lstGCXMKey[index];
//                        var gcxm = RedisManager.GetObject<WXGCXM>(key);
//                        if (gcxm == null) continue;

//                        queryResult.Bills.Add(gcxm);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询员工
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDEmpBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryEmpResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");

//                var empName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var empDatas = GetEmpinfoDatas(empName);
//                    if (empDatas.Count > 0)
//                    {
//                        var lstEmpKey = new List<string>();
//                        foreach (var obj in empDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_Empinfo_{0}", Convert.ToInt64(obj["FId"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var empBillObject = wrzs.LoadBillData("BD_Empinfo", pkids);

//                            if (empBillObject.Length == 0) throw new Exception("加载员工为空");
//                            var empobj = empBillObject[0] as DynamicObject;
//                            var item = WXEmpinfo.Parse(empobj);
//                            RedisManager.SetObject<WXEmpinfo>(item, new TimeSpan(0, 15, 0));
//                            lstEmpKey.Add(key);
//                        }
//                        if (lstEmpKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstEmpKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstEmpKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstEmpKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstEmpKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstEmpKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstEmpKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstEmpKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstEmpKey.Count) break;

//                        var key = lstEmpKey[index];
//                        var gcxm = RedisManager.GetObject<WXEmpinfo>(key);
//                        if (gcxm == null) continue;

//                        queryResult.Bills.Add(gcxm);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询仓库
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDStockBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryStockResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var stockName = query.Name;
//                var orgId = query.OrgId;
//                List<Int64> orgIds = new List<Int64>();
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    if (orgId != 0L)
//                    {
//                        orgIds.Add(orgId);
//                    }
//                    else
//                    {
//                        orgIds = GetOrgIds(erpUserId);
//                    }
//                    var stockDatas = GetStockDatas(stockName, orgIds, 0L);
//                    if (stockDatas.Count > 0)
//                    {
//                        var lstStockKey = new List<string>();
//                        foreach (var obj in stockDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FSTOCKID"]);
//                            var key = string.Format("SZGD_Stock_{0}", Convert.ToInt64(obj["FSTOCKID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var empBillObject = wrzs.LoadBillData("BD_STOCK", pkids);

//                            if (empBillObject.Length == 0) throw new Exception("加载仓库为空");
//                            var empobj = empBillObject[0] as DynamicObject;
//                            var item = WXStock.Parse(empobj);
//                            RedisManager.SetObject<WXStock>(item, new TimeSpan(0, 15, 0));
//                            lstStockKey.Add(key);
//                        }
//                        if (lstStockKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstStockKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstStockKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstStockKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstStockKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstStockKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstStockKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstStockKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstStockKey.Count) break;

//                        var key = lstStockKey[index];
//                        var stock = RedisManager.GetObject<WXStock>(key);
//                        if (stock == null) continue;

//                        queryResult.Bills.Add(stock);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询检查类型
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDJCLXBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryJCLXResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var jclxName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var jclxDatas = GetJCLXDatas(jclxName);
//                    if (jclxDatas.Count > 0)
//                    {
//                        var lstJCLXKey = new List<string>();
//                        foreach (var obj in jclxDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_JCLX_{0}", Convert.ToInt64(obj["FID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var jclxBillObject = wrzs.LoadBillData("BDI_GCXM_JCLX", pkids);

//                            if (jclxBillObject.Length == 0) throw new Exception("加载检查类型为空");
//                            var jclxobj = jclxBillObject[0] as DynamicObject;
//                            var item = WXJCLX.Parse(jclxobj);
//                            RedisManager.SetObject<WXJCLX>(item, new TimeSpan(0, 15, 0));
//                            lstJCLXKey.Add(key);
//                        }
//                        if (lstJCLXKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstJCLXKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJCLXKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstJCLXKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstJCLXKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstJCLXKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstJCLXKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstJCLXKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstJCLXKey.Count) break;

//                        var key = lstJCLXKey[index];
//                        var jclx = RedisManager.GetObject<WXJCLX>(key);
//                        if (jclx == null) continue;

//                        queryResult.Bills.Add(jclx);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询安全检查项目
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDAQJCXMBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryAQJCXMResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var aqjcxmName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var aqjcxmDatas = GetAQJCXMDatas(aqjcxmName);
//                    if (aqjcxmDatas.Count > 0)
//                    {
//                        var lstAQJCXMKey = new List<string>();
//                        foreach (var obj in aqjcxmDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_AQJCXM_{0}", Convert.ToInt64(obj["FID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var aqjcxmBillObject = wrzs.LoadBillData("BDI_GCXM_AQJCXM", pkids);

//                            if (aqjcxmBillObject.Length == 0) throw new Exception("加载安全检查项目为空");
//                            var aqjcxmobj = aqjcxmBillObject[0] as DynamicObject;
//                            var item = WXAQJCXM.Parse(aqjcxmobj);
//                            RedisManager.SetObject<WXAQJCXM>(item, new TimeSpan(0, 15, 0));
//                            lstAQJCXMKey.Add(key);
//                        }
//                        if (lstAQJCXMKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstAQJCXMKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstAQJCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstAQJCXMKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstAQJCXMKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstAQJCXMKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstAQJCXMKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstAQJCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;

//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstAQJCXMKey.Count) break;

//                        var key = lstAQJCXMKey[index];
//                        var aqjcxm = RedisManager.GetObject<WXAQJCXM>(key);
//                        if (aqjcxm == null) continue;

//                        queryResult.Bills.Add(aqjcxm);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询质量检查项目
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDZLJCXMBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryZLJCXMResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var zljcxmName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var zljcxmDatas = GetZLJCXMDatas(zljcxmName);
//                    if (zljcxmDatas.Count > 0)
//                    {
//                        var lstZLJCXMKey = new List<string>();
//                        foreach (var obj in zljcxmDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_ZLJCXM_{0}", Convert.ToInt64(obj["FID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var aqjcxmBillObject = wrzs.LoadBillData("BDI_GCXM_ZLJCXM", pkids);

//                            if (aqjcxmBillObject.Length == 0) throw new Exception("加载质量检查项目为空");
//                            var aqjcxmobj = aqjcxmBillObject[0] as DynamicObject;
//                            var item = WXZLJCXM.Parse(aqjcxmobj);
//                            RedisManager.SetObject<WXZLJCXM>(item, new TimeSpan(0, 15, 0));
//                            lstZLJCXMKey.Add(key);
//                        }
//                        if (lstZLJCXMKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstZLJCXMKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLJCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstZLJCXMKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstZLJCXMKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstZLJCXMKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstZLJCXMKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstZLJCXMKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;

//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstZLJCXMKey.Count) break;

//                        var key = lstZLJCXMKey[index];
//                        var zljcxm = RedisManager.GetObject<WXZLJCXM>(key);
//                        if (zljcxm == null) continue;

//                        queryResult.Bills.Add(zljcxm);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询施工阶段
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDJDZTBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryJDZTResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var sgjdName = query.Name;
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var sgjdDatas = GetSGJDDatas(sgjdName);
//                    if (sgjdDatas.Count > 0)
//                    {
//                        var lstSGJDKey = new List<string>();
//                        foreach (var obj in sgjdDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FID"]);
//                            var key = string.Format("SZGD_JDZT_{0}", Convert.ToInt64(obj["FID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var sgjdBillObject = wrzs.LoadBillData("BDI_GCXM_JDZT", pkids);

//                            if (sgjdBillObject.Length == 0) throw new Exception("加载施工阶段为空");
//                            var sgjdobj = sgjdBillObject[0] as DynamicObject;
//                            var item = WXJDZT.Parse(sgjdobj);
//                            RedisManager.SetObject<WXJDZT>(item, new TimeSpan(0, 15, 0));
//                            lstSGJDKey.Add(key);
//                        }
//                        if (lstSGJDKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstSGJDKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSGJDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstSGJDKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstSGJDKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstSGJDKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstSGJDKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSGJDKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstSGJDKey.Count) break;

//                        var key = lstSGJDKey[index];
//                        var sgjd = RedisManager.GetObject<WXJDZT>(key);
//                        if (sgjd == null) continue;

//                        queryResult.Bills.Add(sgjd);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询供应商
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDSupplierBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QuerySupplierResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var supplierName = query.Name;
//                var orgId = query.OrgId;
//                List<Int64> orgIds = new List<Int64>();
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    if (orgId != 0L)
//                    {
//                        orgIds.Add(orgId);
//                    }
//                    else
//                    {
//                        orgIds = GetOrgIds(erpUserId);
//                    }
//                    var supplierDatas = GetSupplierDatas(supplierName, orgIds);
//                    if (supplierDatas.Count > 0)
//                    {
//                        var lstSUPKey = new List<string>();
//                        foreach (var obj in supplierDatas)
//                        {
//                            var fid = Convert.ToInt64(obj["FSUPPLIERID"]);
//                            var key = string.Format("SZGD_Supplier_{0}", Convert.ToInt64(obj["FSUPPLIERID"]));
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var supplierBillObject = wrzs.LoadBillData("BD_Supplier", pkids);

//                            if (supplierBillObject.Length == 0) throw new Exception("加载供应商为空");
//                            var supplierobj = supplierBillObject[0] as DynamicObject;
//                            var item = WXSZGDSupplier.Parse(supplierobj);
//                            RedisManager.SetObject<WXSZGDSupplier>(item, new TimeSpan(0, 15, 0));
//                            lstSUPKey.Add(key);
//                        }
//                        if (lstSUPKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstSUPKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSUPKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstSUPKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstSUPKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstSUPKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstSUPKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstSUPKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstSUPKey.Count) break;

//                        var key = lstSUPKey[index];
//                        var supplier = RedisManager.GetObject<WXSZGDSupplier>(key);
//                        if (supplier == null) continue;

//                        queryResult.Bills.Add(supplier);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 查询组织机构
//        /// </summary>
//        /// <param name="query"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult QDOrgBaseBill(QueryBaseParam query)
//        {
//            var queryResult = new QueryOrgResult();
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                if (query == null) throw new Exception("请指定查询参数");
//                if (string.IsNullOrWhiteSpace(query.UserToken)) throw new Exception("userToken不允许为空");

//                var user = RedisManager.GetObject<WXUser>(query.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", query.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion

//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var supplierName = query.Name;
//                //List<Int64> orgIds = new List<Int64>();
//                queryResult.UserToken = query.UserToken;
//                queryResult.QuerySessionKey = query.QuerySessionKey;
//                queryResult.PageIndex = query.PageIndex;

//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey))
//                {
//                    var orgIds = GetOrgIds(erpUserId);
//                    if (orgIds.Count > 0)
//                    {
//                        var lstOrgKey = new List<string>();
//                        foreach (var orgId in orgIds)
//                        {
//                            var fid = orgId;
//                            var key = string.Format("SZGD_Org_{0}", orgId);
//                            var pkids = new object[] { fid };
//                            var wrzs = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//                            var orgBillObject = wrzs.LoadBillData("ORG_Organizations", pkids);

//                            if (orgBillObject.Length == 0) throw new Exception("加载组织机构为空");
//                            var orgobj = orgBillObject[0] as DynamicObject;
//                            var item = WXSZGDOrg.Parse(orgobj);
//                            RedisManager.SetObject<WXSZGDOrg>(item, new TimeSpan(0, 15, 0));
//                            lstOrgKey.Add(key);
//                        }
//                        if (lstOrgKey.Count > 0)
//                        {
//                            queryResult.QuerySessionKey = Guid.NewGuid().ToString();
//                            queryResult.TotalCount = lstOrgKey.Count;
//                            queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstOrgKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);
//                            queryResult.PageIndex = 0;

//                            RedisManager.SetValue<List<string>>(queryResult.QuerySessionKey, lstOrgKey, new TimeSpan(0, 15, 0));
//                        }
//                    }
//                }
//                if (string.IsNullOrWhiteSpace(queryResult.QuerySessionKey) == false)
//                {
//                    var lstOrgKey = RedisManager.GetValue<List<string>>(queryResult.QuerySessionKey);
//                    if (lstOrgKey == null) throw new Exception("无效的QuerySessionKey");
//                    queryResult.TotalCount = lstOrgKey.Count;
//                    queryResult.PageCount = (Int32)Kingdee.BOS.MathUtil.Round(lstOrgKey.Count / 20m, 0, Kingdee.BOS.RoundMode.Carry);

//                    var beginIndex = queryResult.PageIndex * 20;
//                    var endIndex = beginIndex + 20;
//                    for (var index = beginIndex; index < endIndex; index++)
//                    {
//                        if (index >= lstOrgKey.Count) break;

//                        var key = lstOrgKey[index];
//                        var org = RedisManager.GetObject<WXSZGDOrg>(key);
//                        if (org == null) continue;

//                        queryResult.Bills.Add(org);
//                    }
//                }
//                result.Data = JObject.FromObject(queryResult);
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 下推生成单据
//        /// </summary>
//        /// <param name="datas"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult MakePushSaveBill([FromBody] MakePushSaveBillParam datas)
//        {
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                var user = RedisManager.GetObject<WXUser>(datas.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", datas.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion
//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                var empInfos = GetEmpInfos(erpUserId);
//                var empId = 0L;
//                if (empInfos.Count > 0)
//                {
//                    var empInfobj = empInfos[0] as DynamicObject;
//                    empId = Convert.ToInt64(empInfobj["FID"]);
//                }
//                if (datas.SourcebillId == 0L)
//                {
//                    throw new Exception("禁止操作：源单单据内码不能为空");
//                }
//                if (string.IsNullOrWhiteSpace(datas.SourceFormId))
//                {
//                    throw new Exception("禁止操作：源单FormId不能为空");
//                }
//                if (string.IsNullOrWhiteSpace(datas.TargetFormId))
//                {
//                    throw new Exception("禁止操作：目标单FormId不能为空");
//                }

//                var targetBillId = datas.Data.Value<Int64>("BillId");
//                if (datas.SourceFormId == "BDI_GCXM_GCHT" && datas.TargetFormId == "BDI_GCXM_GCJDQRLY")
//                {
//                    var gchtEntrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        gchtEntrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var gchtEntrys_Save = new JSONArray();
//                    foreach (JObject gchtEntry in gchtEntrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = gchtEntry.Value<Int64>("EntryId");
//                        item["Qty"] = gchtEntry.Value<Decimal>("Qty");
//                        item["Note"] = gchtEntry.Value<string>("Note");
//                        gchtEntrys_Save.Add(item);
//                    }

//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    //billdata["OrgId"] = Convert.ToInt64(datas.OrgId);
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["TBRId"] = empId;
//                    billdata["Remark"] = datas.Data.Value<String>("Remark");
//                    billdata["EntryDatas"] = gchtEntrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_GCJDQRLY" && datas.TargetFormId == "BDI_GCXM_GCJDQR")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["TBRId"] = empId;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_GCHT" && datas.TargetFormId == "BDI_GCXM_GCQZ")
//                {

//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_CGHT" && datas.TargetFormId == "BDI_GCXM_CLJCYS")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["StockId"] = datas.Data.Value<Int64>("StockId");
//                    //billdata["TBRId"] = empId;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "STK_InStock" && datas.TargetFormId == "BDI_GCXM_XMCLLY")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["StockId"] = datas.Data.Value<Int64>("StockId");
//                    //billdata["TBRId"] = empId;
//                    billdata["EntryDatas"] = entrys_Save;
//                    var orgId = datas.Data.Value<Int64>("OrgId");
//                    var orgIds = new List<Int64>();
//                    orgIds.Add(orgId);
//                    var stockDatas = GetStockDatas("", orgIds, 0L);
//                    if (stockDatas.Count > 0)
//                    {
//                        var stockObj = stockDatas[0] as DynamicObject;
//                        var stockId = Convert.ToInt64(stockObj["FSTOCKID"]);
//                        billdata["StockId"] = stockId;
//                    }

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_XMCLLY" && datas.TargetFormId == "BDI_GCXM_XMCLTH")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_ZLHT" && datas.TargetFormId == "BDI_GCXM_JXSBJC")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JXSBQty"] = entry.Value<Decimal>("JXSBQty");
//                        item["JiShou"] = entry.Value<string>("JiShou");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["BillName"] = datas.Data.Value<string>("BillName");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_JXSBJC" && datas.TargetFormId == "BDI_GCXM_JXSBTCDJ")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["BackQty"] = entry.Value<Decimal>("BackQty");
//                        item["JiShou"] = entry.Value<string>("JiShou");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_GCHT" && datas.TargetFormId == "BDI_GCXM_AQJCJL")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JCXMId"] = entry.Value<Int64>("JCXMId");
//                        item["JCLR"] = entry.Value<string>("JCLR");
//                        item["CZWT"] = entry.Value<string>("CZWT");
//                        item["Score"] = entry.Value<Decimal>("Score");

//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["JCLXId"] = datas.Data.Value<Int64>("JCLXId");
//                    billdata["JCRId"] = datas.Data.Value<Int64>("JCRId");
//                    billdata["JCDW"] = datas.Data.Value<string>("JCDW");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_GCHT" && datas.TargetFormId == "BDI_GCXM_ZLJCJL")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JCXMId"] = entry.Value<Int64>("JCXMId");
//                        item["JCLR"] = entry.Value<string>("JCLR");
//                        item["CZWT"] = entry.Value<string>("CZWT");
//                        item["Score"] = entry.Value<Decimal>("Score");

//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["JCLXId"] = datas.Data.Value<Int64>("JCLXId");
//                    billdata["JCRId"] = datas.Data.Value<Int64>("JCRId");
//                    billdata["JCDW"] = datas.Data.Value<string>("JCDW");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_YJDJHWF" && datas.TargetFormId == "BDI_GCXM_JDJHHBD")
//                {
//                    var entrys = new JArray();

//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourceFormId"] = datas.SourceFormId;
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["RealStart"] = datas.Data.Value<DateTime>("RealStart");
//                    billdata["CurRate"] = datas.Data.Value<decimal>("CurRate");
//                    billdata["IsCompleted"] = datas.Data.Value<bool>("IsCompleted");
//                    billdata["Note"] = datas.Data.Value<string>("Note");
//                    billdata["EntryId"] = datas.Data.Value<Int64>("EntryId");

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_ZJDJHWF" && datas.TargetFormId == "BDI_GCXM_JDJHHBD")
//                {
//                    var entrys = new JArray();

//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourceFormId"] = datas.SourceFormId;
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["RealStart"] = datas.Data.Value<DateTime>("RealStart");
//                    billdata["CurRate"] = datas.Data.Value<decimal>("CurRate");
//                    billdata["IsCompleted"] = datas.Data.Value<bool>("IsCompleted");
//                    billdata["Note"] = datas.Data.Value<string>("Note");
//                    billdata["EntryId"] = datas.Data.Value<Int64>("EntryId");

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.SourceFormId == "BDI_GCXM_FBHT" && datas.TargetFormId == "BDI_GCXM_FBJDQR")
//                {
//                    var entrys = new JArray();
//                    if (targetBillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }

//                    var formId = datas.TargetFormId;
//                    var billdata = new JSONObject();
//                    billdata["SourcebillId"] = Convert.ToInt64(datas.SourcebillId);
//                    billdata["TargetbillId"] = datas.Data.Value<Int64>("BillId");
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["TBRId"] = empId;
//                    billdata["Remark"] = datas.Data.Value<String>("Remark");
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDPushSaveBill(formId, billdata);
//                    KD.Logger.Info(string.Format("MakePushSaveBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;

//                Logger.Error("MakePushSaveBill", e);
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 修改保存提交单据
//        /// </summary>
//        /// <param name="datas"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult ReviseSaveSubmitBill([FromBody] ReviseSaveSubmitBillParam datas)
//        {
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                var user = RedisManager.GetObject<WXUser>(datas.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", datas.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion
//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                if (datas.BillId == 0L)
//                {
//                    throw new Exception("禁止操作：单据内码不能为空");
//                }
//                if (string.IsNullOrWhiteSpace(datas.BillFormId))
//                {
//                    throw new Exception("禁止操作：单据FormId不能为空");
//                }
//                var pictures = new JSONArray();
//                if (datas.Pictures != null && datas.Pictures.Length > 0)
//                {
//                    foreach (var p in datas.Pictures)
//                    {
//                        //将base64头部信息替换
//                        var base64 = p.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");
//                        pictures.Add(base64);
//                    }
//                }

//                if (datas.BillFormId == "BDI_GCXM_GCJDQRLY")
//                {
//                    var gcjdqrlyEntrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        gcjdqrlyEntrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var gcjdqrlyEntrys_Save = new JSONArray();
//                    foreach (JObject gcjdqrlyEntry in gcjdqrlyEntrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = gcjdqrlyEntry.Value<Int64>("EntryId");
//                        item["Qty"] = gcjdqrlyEntry.Value<Decimal>("Qty");
//                        item["Note"] = gcjdqrlyEntry.Value<string>("Note");
//                        gcjdqrlyEntrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["Remark"] = datas.Data.Value<String>("Remark");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = gcjdqrlyEntrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_GCJDQR")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["Remark"] = datas.Data.Value<String>("Remark");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_GCQZ")
//                {

//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Amount"] = datas.Data.Value<decimal>("Amount");
//                    billdata["QZLR"] = datas.Data.Value<String>("QZLR");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_CLJCYS")
//                {
//                    List<Int64> orgIds = new List<Int64>();
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    var stockId = datas.Data.Value<Int64>("StockId");
//                    if (stockId != 0L)
//                    {
//                        billdata["StockId"] = stockId;
//                        var orgobj = datas.Data.Value<JObject>("Organization");
//                        var orgId = orgobj.Value<Int64>("Id");
//                        orgIds.Add(orgId);
//                        var stockDatas = GetStockDatas("", orgIds, stockId);
//                        if (stockDatas.Count == 0) throw new Exception("查询不到该组织下的仓库！");
//                    }
//                    billdata["BillName"] = datas.Data.Value<string>("BillName");

//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_XMCLLY")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["StockId"] = datas.Data.Value<Int64>("StockId");
//                    billdata["BillName"] = datas.Data.Value<string>("BillName");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_XMCLTH")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["BillName"] = datas.Data.Value<string>("BillName");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_JXSBJC")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JiShou"] = entry.Value<string>("JiShou");
//                        item["JXSBQty"] = entry.Value<Decimal>("JXSBQty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["YSRId"] = datas.Data.Value<Int64>("YSRId");
//                    billdata["BillName"] = datas.Data.Value<string>("BillName");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_JXSBTCDJ")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["BackQty"] = entry.Value<Decimal>("BackQty");
//                        item["JiShou"] = entry.Value<string>("JiShou");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_AQJCJL")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JCXMId"] = entry.Value<Int64>("JCXMId");
//                        item["JCLR"] = entry.Value<string>("JCLR");
//                        item["CZWT"] = entry.Value<string>("CZWT");
//                        item["Score"] = entry.Value<Decimal>("Score");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["JCLXId"] = datas.Data.Value<Int64>("JCLXId");
//                    billdata["JCRId"] = datas.Data.Value<Int64>("JCRId");
//                    billdata["JCDW"] = datas.Data.Value<string>("JCDW");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_ZLJCJL")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["JCXMId"] = entry.Value<Int64>("JCXMId");
//                        item["JCLR"] = entry.Value<string>("JCLR");
//                        item["CZWT"] = entry.Value<string>("CZWT");
//                        item["Score"] = entry.Value<Decimal>("Score");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["JCLXId"] = datas.Data.Value<Int64>("JCLXId");
//                    billdata["JCRId"] = datas.Data.Value<Int64>("JCRId");
//                    billdata["JCDW"] = datas.Data.Value<string>("JCDW");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_JDJHHBD")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("Date");
//                    billdata["RealStart"] = datas.Data.Value<DateTime>("RealStart");
//                    billdata["Start"] = datas.Data.Value<DateTime>("Start");
//                    billdata["Finish"] = datas.Data.Value<DateTime>("Finish");
//                    billdata["CurRate"] = datas.Data.Value<decimal>("CurRate");
//                    billdata["AllRate"] = datas.Data.Value<decimal>("AllRate");
//                    billdata["IsCompleted"] = datas.Data.Value<bool>("IsCompleted");
//                    billdata["Note"] = datas.Data.Value<string>("Note");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_FBJDQR")
//                {
//                    var entrys = new JArray();
//                    if (datas.BillId > 0L)
//                    {
//                        entrys = datas.Data.Value<JArray>("EntryRows");
//                    }
//                    var entrys_Save = new JSONArray();
//                    foreach (JObject entry in entrys)
//                    {
//                        var item = new JSONObject();
//                        item["EntryId"] = entry.Value<Int64>("EntryId");
//                        item["Qty"] = entry.Value<Decimal>("Qty");
//                        item["Note"] = entry.Value<string>("Note");
//                        entrys_Save.Add(item);
//                    }
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = Convert.ToInt64(datas.BillId);
//                    billdata["UserId"] = erpUserId;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["CanEditRate"] = datas.Data.Value<Boolean>("CanEditRate");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["TBRId"] = datas.Data.Value<Int64>("TBRId");
//                    billdata["Remark"] = datas.Data.Value<String>("Remark");
//                    billdata["Pictures"] = pictures;
//                    billdata["EntryDatas"] = entrys_Save;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_SGRZ")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = datas.BillId;
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    billdata["SGYId"] = datas.Data.Value<Int64>("SGYId");
//                    billdata["XMJDZTId"] = datas.Data.Value<Int64>("XMJDZTId");
//                    billdata["SGBZName"] = datas.Data.Value<string>("SGBZName");
//                    billdata["JLRName"] = datas.Data.Value<string>("JLRName");
//                    billdata["TQZK1"] = datas.Data.Value<string>("TQZKDay");
//                    billdata["FL1"] = datas.Data.Value<string>("FLDay");
//                    billdata["QW1"] = datas.Data.Value<string>("QWDay");
//                    billdata["TQZK2"] = datas.Data.Value<string>("TQZKNight");
//                    billdata["FL2"] = datas.Data.Value<string>("FLNight");
//                    billdata["QW2"] = datas.Data.Value<string>("QWNight");
//                    billdata["SCQKJL"] = datas.Data.Value<string>("SCQKJL");
//                    billdata["ZLAQJL"] = datas.Data.Value<string>("ZLAQJL");
//                    billdata["CLGPJJC"] = datas.Data.Value<string>("CLGPJJC");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDNewSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                else if (datas.BillFormId == "BDI_GCXM_XXJD")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = datas.BillId;
//                    billdata["UserId"] = erpUserId;
//                    billdata["DocumentStatus"] = datas.Data.Value<String>("DocumentStatus");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    var supobj = datas.Data.Value<JObject>("Supplier");
//                    billdata["SupplierId"] = supobj.Value<Int64>("Id");
//                    billdata["TBRId"] = datas.Data.Value<Int64>("TBRId");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDReviseSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("ReviseSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;

//                Logger.Error("ReviseSaveSubmitBill", e);
//            }
//            return Json<WebApiResult>(result);
//        }
//        /// <summary>
//        /// 新增保存提交单据
//        /// </summary>
//        /// <param name="datas"></param>
//        /// <returns></returns>
//        [HttpPost]
//        [ResponseType(typeof(WebApiResult))]
//        public IHttpActionResult NewSaveSubmitBill([FromBody] NewSaveSubmitBillParam datas)
//        {
//            var result = new WebApiResult();
//            result.Successful = true;
//            try
//            {
//                var user = RedisManager.GetObject<WXUser>(datas.UserToken);
//                if (user == null)
//                {
//                    throw new Exception(string.Format("无效的userToken:{0}", datas.UserToken));
//                }
//                #region 金蝶云登录验证
//                LoginViewModel.CheckLogin();
//                if (LoginViewModel.Current.LoginSuccessful == false)
//                {
//                    throw new Exception("金蝶云登录失败");
//                }
//                #endregion
//                var erpUserId = user.ERPUserId;
//                if (erpUserId == 0L) throw new Exception("请首先注册为ERP用户");
//                //if (datas.BillId == 0L)
//                //{
//                //    throw new Exception("禁止操作：单据内码不能为空");
//                //}
//                if (string.IsNullOrWhiteSpace(datas.BillFormId))
//                {
//                    throw new Exception("禁止操作：单据FormId不能为空");
//                }
//                var pictures = new JSONArray();
//                if (datas.Pictures != null && datas.Pictures.Length > 0)
//                {
//                    foreach (var p in datas.Pictures)
//                    {
//                        //将base64头部信息替换
//                        var base64 = p.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");
//                        pictures.Add(base64);
//                    }
//                }
//                if (datas.BillFormId == "BDI_GCXM_ZLZGJL")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = 0L;
//                    billdata["UserId"] = erpUserId;
//                    billdata["OrgId"] = datas.OrgId;
//                    billdata["DocumentStatus"] = datas.DocumentStatus;
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    billdata["JCLXId"] = datas.Data.Value<Int64>("JCLXId");
//                    billdata["JCRId"] = datas.Data.Value<Int64>("JCRId");
//                    billdata["YZRId"] = datas.Data.Value<Int64>("YZRId");
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["EndDate"] = datas.Data.Value<DateTime>("EndDate");
//                    billdata["ZGWCDate"] = datas.Data.Value<DateTime>("ZGWCDate");
//                    billdata["YZDate"] = datas.Data.Value<DateTime>("YZDate");
//                    billdata["Amount"] = datas.Data.Value<decimal>("Amount");
//                    billdata["ZGSY"] = datas.Data.Value<string>("ZGSY");
//                    billdata["YQZGLR"] = datas.Data.Value<string>("YQZGLR");
//                    billdata["ZGQKMS"] = datas.Data.Value<string>("ZGQKMS");
//                    billdata["YZJL"] = datas.Data.Value<string>("YZJL");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDNewSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("NewSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                if (datas.BillFormId == "BDI_GCXM_SGRZ")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = 0L;
//                    billdata["UserId"] = erpUserId;
//                    billdata["OrgId"] = datas.OrgId;
//                    billdata["DocumentStatus"] = datas.DocumentStatus;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    billdata["SGYId"] = datas.Data.Value<Int64>("SGYId");
//                    billdata["XMJDZTId"] = datas.Data.Value<Int64>("XMJDZTId");
//                    billdata["SGBZName"] = datas.Data.Value<string>("SGBZName");
//                    billdata["JLRName"] = datas.Data.Value<string>("JLRName");
//                    billdata["TQZK1"] = datas.Data.Value<string>("TQZKDay");
//                    billdata["FL1"] = datas.Data.Value<string>("FLDay");
//                    billdata["QW1"] = datas.Data.Value<string>("QWDay");
//                    billdata["TQZK2"] = datas.Data.Value<string>("TQZKNight");
//                    billdata["FL2"] = datas.Data.Value<string>("FLNight");
//                    billdata["QW2"] = datas.Data.Value<string>("QWNight");
//                    billdata["SCQKJL"] = datas.Data.Value<string>("SCQKJL");
//                    billdata["ZLAQJL"] = datas.Data.Value<string>("ZLAQJL");
//                    billdata["CLGPJJC"] = datas.Data.Value<string>("CLGPJJC");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDNewSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("NewSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//                if (datas.BillFormId == "BDI_GCXM_XXJD")
//                {
//                    var formId = datas.BillFormId;
//                    var billdata = new JSONObject();
//                    billdata["BillId"] = 0L;
//                    billdata["UserId"] = erpUserId;
//                    billdata["OrgId"] = datas.OrgId;
//                    billdata["DocumentStatus"] = datas.DocumentStatus;
//                    billdata["Date"] = datas.Data.Value<DateTime>("BillDate");
//                    billdata["GCXMId"] = datas.Data.Value<Int64>("GCXMId");
//                    var supobj = datas.Data.Value<JObject>("Supplier");
//                    billdata["SupplierId"] = supobj.Value<Int64>("Id");
//                    billdata["TBRId"] = datas.Data.Value<Int64>("TBRId");
//                    billdata["LJJDRate"] = datas.Data.Value<decimal>("LJJDRate");
//                    billdata["Remark"] = datas.Data.Value<string>("Remark");
//                    billdata["Pictures"] = pictures;

//                    var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//                    var saveResult = client.SZGDNewSaveSubmitBill(formId, billdata);
//                    KD.Logger.Info(string.Format("NewSaveSubmitBill-{0}:{1}", formId, billdata.ToString()));
//                    Logger.Info(saveResult.Message);
//                    result.Successful = saveResult.Successful;
//                    result.Message = saveResult.Message;
//                }
//            }
//            catch (Exception e)
//            {
//                result.Successful = false;
//                result.Message = e.Message;

//                Logger.Error("NewSaveSubmitBill", e);
//            }
//            return Json<WebApiResult>(result);
//        }

//        /// <summary>
//        /// 单据查询参数
//        /// </summary>
//        public class QueryParam
//        {
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 开始日期
//            /// </summary>
//            public DateTime BeginDate { get; set; }
//            /// <summary>
//            /// 结束日期
//            /// </summary>
//            public DateTime EndDate { get; set; }
//            /// <summary>
//            /// 单据内码
//            /// </summary>
//            public Int64 BillId { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 分页：第几页，索引值从0开始
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//        }

//        /// <summary>
//        /// 基础资料查询参数
//        /// </summary>
//        public class QueryBaseParam
//        {
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 内码
//            /// </summary>
//            public Int64 BillId { get; set; }
//            /// <summary>
//            /// 名称
//            /// </summary>
//            public string Name { get; set; }
//            /// <summary>
//            /// 组织机构
//            /// </summary>
//            public Int64 OrgId { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 分页：第几页，索引值从0开始
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//        }
//        /// <summary>
//        /// 工程合同查询结果
//        /// </summary>
//        public class QueryGongChengHeTongResult
//        {
//            public QueryGongChengHeTongResult()
//            {
//                this.Bills = new List<WXGCHT>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 工程合同数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 工程合同数据
//            /// </summary>
//            public List<WXGCHT> Bills { get; set; }
//        }
//        /// <summary>
//        /// 项目进度产值(内验)查询结果
//        /// </summary>
//        public class QueryGCJDQRLYResult
//        {
//            public QueryGCJDQRLYResult()
//            {
//                this.Bills = new List<WXGCJDQRLY>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 项目进度产值(内验)数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 项目进度产值(内验)数据
//            /// </summary>
//            public List<WXGCJDQRLY> Bills { get; set; }
//        }
//        /// <summary>
//        /// 项目进度产值(外验)查询结果
//        /// </summary>
//        public class QueryGCJDQRResult
//        {
//            public QueryGCJDQRResult()
//            {
//                this.Bills = new List<WXGCJDQR>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 项目进度产值(外验)数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 项目进度产值(外验)数据
//            /// </summary>
//            public List<WXGCJDQR> Bills { get; set; }
//        }
//        /// <summary>
//        /// 工程签证变更查询结果
//        /// </summary>
//        public class QueryGCQZBGResult
//        {
//            public QueryGCQZBGResult()
//            {
//                this.Bills = new List<WXGCQZBG>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 工程签证变更数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 工程签证变更数据
//            /// </summary>
//            public List<WXGCQZBG> Bills { get; set; }
//        }
//        /// <summary>
//        /// 采购合同查询结果
//        /// </summary>
//        public class QueryCGHTResult
//        {
//            public QueryCGHTResult()
//            {
//                this.Bills = new List<WXCGHT>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 采购合同数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 采购合同数据
//            /// </summary>
//            public List<WXCGHT> Bills { get; set; }
//        }
//        /// <summary>
//        /// 材料进场验收单查询结果
//        /// </summary>
//        public class QueryCLJCYSResult
//        {
//            public QueryCLJCYSResult()
//            {
//                this.Bills = new List<WXCLJCYS>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 材料进场验收单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 材料进场验收单数据
//            /// </summary>
//            public List<WXCLJCYS> Bills { get; set; }
//        }
//        /// <summary>
//        /// 项目材料领用单查询结果
//        /// </summary>
//        public class QueryXMCLLYResult
//        {
//            public QueryXMCLLYResult()
//            {
//                this.Bills = new List<WXXMCLLY>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 项目材料领用单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 项目材料领用单数据
//            /// </summary>
//            public List<WXXMCLLY> Bills { get; set; }
//        }
//        /// <summary>
//        /// 项目材料退回查询结果
//        /// </summary>
//        public class QueryXMCLTHResult
//        {
//            public QueryXMCLTHResult()
//            {
//                this.Bills = new List<WXXMCLTH>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 项目材料退回单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 项目材料退回单数据
//            /// </summary>
//            public List<WXXMCLTH> Bills { get; set; }
//        }
//        /// <summary>
//        /// 租赁进场登记查询结果
//        /// </summary>
//        public class QueryJXSBJCResult
//        {
//            public QueryJXSBJCResult()
//            {
//                this.Bills = new List<WXJXSBJC>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 租赁进场登记单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 租赁进场登记单数据
//            /// </summary>
//            public List<WXJXSBJC> Bills { get; set; }
//        }
//        /// <summary>
//        /// 机材租赁合同查询结果
//        /// </summary>
//        public class QueryZLHTResult
//        {
//            public QueryZLHTResult()
//            {
//                this.Bills = new List<WXZLHT>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 机材租赁合同单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 机材租赁合同单数据
//            /// </summary>
//            public List<WXZLHT> Bills { get; set; }
//        }
//        /// <summary>
//        /// 租赁结算与归还查询结果
//        /// </summary>
//        public class QueryJXSBTCDJResult
//        {
//            public QueryJXSBTCDJResult()
//            {
//                this.Bills = new List<WXJXSBTCDJ>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 租赁结算与归还单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 租赁结算与归还单数据
//            /// </summary>
//            public List<WXJXSBTCDJ> Bills { get; set; }
//        }
//        /// <summary>
//        /// 安全检查记录查询结果
//        /// </summary>
//        public class QueryAQJCJLResult
//        {
//            public QueryAQJCJLResult()
//            {
//                this.Bills = new List<WXAQJCJL>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 安全检查记录单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 安全检查记录单数据
//            /// </summary>
//            public List<WXAQJCJL> Bills { get; set; }
//        }
//        /// <summary>
//        /// 质量检查记录查询结果
//        /// </summary>
//        public class QueryZLJCJLResult
//        {
//            public QueryZLJCJLResult()
//            {
//                this.Bills = new List<WXZLJCJL>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 质量检查记录单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 质量检查记录单数据
//            /// </summary>
//            public List<WXZLJCJL> Bills { get; set; }
//        }
//        /// <summary>
//        /// 质量整改查询结果
//        /// </summary>
//        public class QueryZLZGJLResult
//        {
//            public QueryZLZGJLResult()
//            {
//                this.Bills = new List<WXZLZGJL>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 质量整改记录单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 质量整改记录单数据
//            /// </summary>
//            public List<WXZLZGJL> Bills { get; set; }
//        }
//        /// <summary>
//        /// 形象进度查询结果
//        /// </summary>
//        public class QueryXXJDResult
//        {
//            public QueryXXJDResult()
//            {
//                this.Bills = new List<WXXXJD>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 形象进度单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 形象进度单数据
//            /// </summary>
//            public List<WXXXJD> Bills { get; set; }
//        }
//        /// <summary>
//        /// 总进度计划查询结果
//        /// </summary>
//        public class QueryZJDJHWFResult
//        {
//            public QueryZJDJHWFResult()
//            {
//                this.Bills = new List<WXZJDJHWF>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 总进度计划单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 总进度计划单数据
//            /// </summary>
//            public List<WXZJDJHWF> Bills { get; set; }
//        }
//        /// <summary>
//        /// 月进度计划单查询结果
//        /// </summary>
//        public class QueryYJDJHWFResult
//        {
//            public QueryYJDJHWFResult()
//            {
//                this.Bills = new List<WXYJDJHWF>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 月进度计划单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 月进度计划单数据
//            /// </summary>
//            public List<WXYJDJHWF> Bills { get; set; }
//        }
//        /// <summary>
//        /// 进度计划汇报单查询结果
//        /// </summary>
//        public class QueryJDJHHBDResult
//        {
//            public QueryJDJHHBDResult()
//            {
//                this.Bills = new List<WXJDJHHBD>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 进度计划汇报单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 进度计划汇报单数据
//            /// </summary>
//            public List<WXJDJHHBD> Bills { get; set; }
//        }
//        /// <summary>
//        /// 分包合同查询结果
//        /// </summary>
//        public class QueryFBHTResult
//        {
//            public QueryFBHTResult()
//            {
//                this.Bills = new List<WXFBHT>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 分包合同单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 分包合同单数据
//            /// </summary>
//            public List<WXFBHT> Bills { get; set; }
//        }
//        /// <summary>
//        /// 分包进度确认单查询结果
//        /// </summary>
//        public class QueryFBJDQRResult
//        {
//            public QueryFBJDQRResult()
//            {
//                this.Bills = new List<WXFBJDQR>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 分包进度确认单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 分包进度确认单数据
//            /// </summary>
//            public List<WXFBJDQR> Bills { get; set; }
//        }
//        /// <summary>
//        /// 施工日志查询结果
//        /// </summary>
//        public class QuerySGRZResult
//        {
//            public QuerySGRZResult()
//            {
//                this.Bills = new List<WXSGRZ>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 施工日志单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 施工日志单数据
//            /// </summary>
//            public List<WXSGRZ> Bills { get; set; }
//        }
//        /// <summary>
//        /// 采购入库单查询结果
//        /// </summary>
//        public class QuerySTKInStockResult
//        {
//            public QuerySTKInStockResult()
//            {
//                this.Bills = new List<WXSTKInStock>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 采购入库单数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 采购入库单数据
//            /// </summary>
//            public List<WXSTKInStock> Bills { get; set; }
//        }
//        /// <summary>
//        /// 工程项目查询结果
//        /// </summary>
//        public class QueryGCXMResult
//        {
//            public QueryGCXMResult()
//            {
//                this.Bills = new List<WXGCXM>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 工程项目数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 工程项目数据
//            /// </summary>
//            public List<WXGCXM> Bills { get; set; }
//        }
//        /// <summary>
//        /// 员工查询结果
//        /// </summary>
//        public class QueryEmpResult
//        {
//            public QueryEmpResult()
//            {
//                this.Bills = new List<WXEmpinfo>();
//            }
//            /// <summary> 
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 员工数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 员工数据
//            /// </summary>
//            public List<WXEmpinfo> Bills { get; set; }
//        }
//        /// <summary>
//        /// 仓库查询结果
//        /// </summary>
//        public class QueryStockResult
//        {
//            public QueryStockResult()
//            {
//                this.Bills = new List<WXStock>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 仓库数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 仓库数据
//            /// </summary>
//            public List<WXStock> Bills { get; set; }
//        }
//        /// <summary>
//        /// 检查类型查询结果
//        /// </summary>
//        public class QueryJCLXResult
//        {
//            public QueryJCLXResult()
//            {
//                this.Bills = new List<WXJCLX>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 检查类型数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 检查类型数据
//            /// </summary>
//            public List<WXJCLX> Bills { get; set; }
//        }
//        /// <summary>
//        /// 安全检查项目查询结果
//        /// </summary>
//        public class QueryAQJCXMResult
//        {
//            public QueryAQJCXMResult()
//            {
//                this.Bills = new List<WXAQJCXM>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 安全检查项目数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 安全检查项目数据
//            /// </summary>
//            public List<WXAQJCXM> Bills { get; set; }
//        }
//        /// <summary>
//        /// 质量检查项目查询结果
//        /// </summary>
//        public class QueryZLJCXMResult
//        {
//            public QueryZLJCXMResult()
//            {
//                this.Bills = new List<WXZLJCXM>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 质量检查项目数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 质量检查项目数据
//            /// </summary>
//            public List<WXZLJCXM> Bills { get; set; }
//        }
//        /// <summary>
//        /// 施工阶段查询结果
//        /// </summary>
//        public class QueryJDZTResult
//        {
//            public QueryJDZTResult()
//            {
//                this.Bills = new List<WXJDZT>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 质量检查项目数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 施工阶段数据
//            /// </summary>
//            public List<WXJDZT> Bills { get; set; }
//        }
//        /// <summary>
//        /// 供应商查询结果
//        /// </summary>
//        public class QuerySupplierResult
//        {
//            public QuerySupplierResult()
//            {
//                this.Bills = new List<WXSZGDSupplier>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 供应商数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 供应商数据
//            /// </summary>
//            public List<WXSZGDSupplier> Bills { get; set; }
//        }
//        /// <summary>
//        /// 组织机构查询结果
//        /// </summary>
//        public class QueryOrgResult
//        {
//            public QueryOrgResult()
//            {
//                this.Bills = new List<WXSZGDOrg>();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            /// 查询Session
//            /// </summary>
//            public string QuerySessionKey { get; set; }
//            /// <summary>
//            /// 组织机构数量
//            /// </summary>
//            public Int32 TotalCount { get; set; }
//            /// <summary>
//            /// 总页数
//            /// </summary>
//            public Int32 PageCount { get; set; }
//            /// <summary>
//            /// 当前第几页
//            /// </summary>
//            public Int32 PageIndex { get; set; }
//            /// <summary>
//            /// 组织机构数据
//            /// </summary>
//            public List<WXSZGDOrg> Bills { get; set; }
//        }

//        /// <summary>
//        /// 生成下推单据参数
//        /// </summary>
//        public class MakePushSaveBillParam
//        {
//            public MakePushSaveBillParam()
//            {
//                this.Data = new JObject();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            ///  源单FormId
//            /// </summary>
//            public string SourceFormId { get; set; }
//            /// <summary>
//            /// 目标单FormId
//            /// </summary>
//            public string TargetFormId { get; set; }
//            /// <summary>
//            /// 源单单据内码
//            /// </summary>
//            public Int64 SourcebillId { get; set; }
//            /// <summary>
//            /// 数据
//            /// </summary>
//            public JObject Data { get; set; }
//        }
//        /// <summary>
//        /// 修改保存提交单据参数
//        /// </summary>
//        public class ReviseSaveSubmitBillParam
//        {
//            public ReviseSaveSubmitBillParam()
//            {
//                this.Data = new JObject();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            ///  单据FormId
//            /// </summary>
//            public string BillFormId { get; set; }
//            /// <summary>
//            /// 单据内码
//            /// </summary>
//            public Int64 BillId { get; set; }
//            /// <summary>
//            /// 数据
//            /// </summary>
//            public JObject Data { get; set; }
//            /// <summary>
//            /// 图片
//            /// </summary>
//            public string[] Pictures { get; set; }
//        }
//        /// <summary>
//        /// 新增保存提交单据参数
//        /// </summary>
//        public class NewSaveSubmitBillParam
//        {
//            public NewSaveSubmitBillParam()
//            {
//                this.Data = new JObject();
//            }
//            /// <summary>
//            /// 用户令牌
//            /// </summary>
//            public string UserToken { get; set; }
//            /// <summary>
//            ///  单据FormId
//            /// </summary>
//            public string BillFormId { get; set; }
//            /// <summary>
//            /// 单据内码
//            /// </summary>
//            public Int64 BillId { get; set; }
//            /// <summary>
//            /// 单据状态
//            /// </summary>
//            public string DocumentStatus { get; set; }
//            /// <summary>
//            /// 组织内码
//            /// </summary>
//            public Int64 OrgId { get; set; }
//            /// <summary>
//            /// 数据
//            /// </summary>
//            public JObject Data { get; set; }
//            /// <summary>
//            /// 图片
//            /// </summary>
//            public string[] Pictures { get; set; }
//        }

//        DynamicObjectCollection GetQDGCXMDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_SRHT T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C' 
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate)); var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetGCJDQRLYDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_GCJDJSLY T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetGCJDQRDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_GCJDJS T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetGCQZBGDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_GCLQZ T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetCGHTDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_ZFHT T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORMID='BDI_GCXM_CGHT'
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetFBHTDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_ZFHT T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORMID='BDI_GCXM_FBHT'
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetCLJCYSDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_CLJCYS T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetXMCLLYDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_XMCLLY T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetXMCLTHDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_XMCLTH T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetJXSBJCDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_JXSBJC T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetZLHTDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_ZFHT T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORMID='BDI_GCXM_ZLHT'
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetJXSBTCDJDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_JXSBTC T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetAQJCJLDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_AQJCJL T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetZLJCJLDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_ZLJCJL T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetZLZGJLDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_ZLZGJL T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMNumber
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMNumber
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetXXJDDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_XXJD T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetZJDJHWFDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, string formId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID,T4.FEntryId
//FROM BDI_t_GCXM_JDJHGTT T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//INNER JOIN BDI_t_GCXM_JDJHGTTEntry T4 ON T4.FID=T1.FID
//WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORMID=@FormId
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            lst.Add(new SqlParam("@FormId", Kingdee.BOS.KDDbType.String, formId));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetJDJHHBDDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_JDJHHBD T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetFBJDQRDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_GCFBJDJS T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetSGRZDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterBillId = "";
//            if (billId != 0L)
//            {
//                filterBillId = string.Format("AND T1.FID={0}", billId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID
//FROM BDI_t_GCXM_SGRZ T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMNUMBER
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMNUMBER
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate {0}
//ORDER BY T1.FDATE DESC,T1.FID DESC
//", filterBillId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetSTKInStockDatas(DateTime beginDate, DateTime endDate, List<Int64> lstGCXMId, Int64 billId)
//        {
//            DynamicObjectCollection objs = null;

//            var sql = string.Format(@"
//SELECT T1.FID
//FROM t_STK_InStock T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA T2 ON T2.FID=T1.FGCXMID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C' 
//AND T1.FDATE>=@BeginDate AND T1.FDATE<=@EndDate
//ORDER BY T1.FDATE DESC,T1.FID DESC
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            lst.Add(new SqlParam("@BeginDate", Kingdee.BOS.KDDbType.DateTime, beginDate));
//            lst.Add(new SqlParam("@EndDate", Kingdee.BOS.KDDbType.DateTime, endDate));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetGCXMDatas(List<Int64> lstGCXMId, string gcxmName)
//        {
//            DynamicObjectCollection objs = null;
//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(gcxmName) == false)
//            {
//                filterName = string.Format("WHERE T3.FNAME LIKE '%{0}%'", gcxmName);
//            }
//            var sql = string.Format(@"
//SELECT T2.FID,T3.FNAME FROM BDI_t_GCXM_DA T2
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T2.FID
//INNER JOIN BDI_t_GCXM_DA_L T3 ON T3.FID=T2.FID AND T3.FLocaleID=2052
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, lstGCXMId.Distinct().ToArray()));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetEmpinfoDatas(string empName)
//        {
//            DynamicObjectCollection objs = null;
//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(empName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", empName);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID FROM T_HR_EMPINFO T1
//INNER JOIN T_HR_EMPINFO_L T2 ON T2.FID=T1.FID AND T2.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetStockDatas(string stockName, List<Int64> orgIds, Int64 stockId)
//        {
//            DynamicObjectCollection objs = null;
//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(stockName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", stockName);
//            }
//            var filterstockId = "";
//            if (stockId != 0L)
//            {
//                filterstockId = string.Format("AND T1.FSTOCKID={0}", stockId);
//            }
//            var sql = string.Format(@"
//SELECT T1.FSTOCKID FROM t_BD_Stock T1
//INNER JOIN t_BD_Stock_L T2 ON T2.FSTOCKID=T1.FSTOCKID AND T2.FLocaleID=2052
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FUSEORGID
//WHERE T1.FDOCUMENTSTATUS='C'
//{0} {1}
//", filterName, filterstockId);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, orgIds.Distinct().ToArray()));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetJCLXDatas(string jclxName)
//        {
//            DynamicObjectCollection objs = null;

//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(jclxName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", jclxName);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID FROM BDI_t_GCXM_JCLX T1
//INNER JOIN BDI_t_GCXM_JCLX_L T2 ON T2.FID=T1.FID AND T2.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetAQJCXMDatas(string aqjcxmName)
//        {
//            DynamicObjectCollection objs = null;

//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(aqjcxmName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", aqjcxmName);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID FROM BDI_t_GCXM_AQJCXM T1
//INNER JOIN BDI_t_GCXM_AQJCXM_L T2 ON T2.FID=T1.FID AND T2.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetZLJCXMDatas(string zljcxmName)
//        {
//            DynamicObjectCollection objs = null;

//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(zljcxmName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", zljcxmName);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID FROM BDI_t_GCXM_ZLJCXM T1
//INNER JOIN BDI_t_GCXM_ZLJCXM_L T2 ON T2.FID=T1.FID AND T2.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetSGJDDatas(string sgjdName)
//        {
//            DynamicObjectCollection objs = null;

//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(sgjdName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", sgjdName);
//            }
//            var sql = string.Format(@"
//SELECT T1.FID FROM BDI_t_GCXM_JDZT T1
//INNER JOIN BDI_t_GCXM_JDZT_L T2 ON T2.FID=T1.FID AND T2.FLocaleID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        DynamicObjectCollection GetSupplierDatas(string supplierName, List<Int64> orgIds)
//        {
//            DynamicObjectCollection objs = null;

//            var filterName = "";
//            if (string.IsNullOrWhiteSpace(supplierName) == false)
//            {
//                filterName = string.Format("AND T2.FNAME LIKE '%{0}%'", supplierName);
//            }

//            var sql = string.Format(@"
//SELECT T1.FSUPPLIERID FROM t_BD_Supplier T1
//INNER JOIN table(fn_StrSplit(@FIDS,',',1)) S ON S.FID = T1.FUSEORGID
//INNER JOIN T_BD_SUPPLIER_L T2 ON T2.FSUPPLIERID=T1.FSUPPLIERID AND T2.FLOCALEID=2052
//WHERE T1.FDOCUMENTSTATUS='C'
//{0}
//", filterName);
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@FIDS", KDDbType.udt_inttable, orgIds.Distinct().ToArray()));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }

//        /// <summary>
//        /// 通过用户Id获取该用户所在的项目
//        /// </summary>
//        /// <param name="ctx"></param>
//        /// <param name="userId">用户Id</param>
//        /// <returns></returns>
//        List<Int64> GetGCXMId(Int64 userId)
//        {
//            var xmIdlist = new List<Int64>();

//            string sql = string.Format(@"
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN BDI_T_GCXM_DA_TDENTRY T2 ON T2.FID=T1.FID
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T2.FEMPNUMBER
//LEFT JOIN T_HR_EMPINFO_L T4  ON T3.FID=T4.FID
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId

//UNION 
//--项目经理
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FEMPID
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId  

//UNION
//--现场负责人
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FGROUNDER
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId  

//UNION 
//--技术负责人
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FTECHNICALER
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId 

//UNION 
//--安全员
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FSAFETYER
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId 

//UNION
//--资料员FDOCUMENTER
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FDOCUMENTER
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId

//UNION  
//--分管领导FLEADER
//SELECT T1.FID 
//FROM BDI_T_GCXM_DA T1
//LEFT JOIN T_HR_EMPINFO  T3 ON T3.FID=T1.FLEADER
//LEFT JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId
//");
//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new SqlParam("@userId", Kingdee.BOS.KDDbType.Int64, userId));
//            var sqlSvr = new SD.WRZS.K3.ServiceFacade.KDServiceClient.WRZSClientProxy();
//            var objs = sqlSvr.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);
//            if (objs.Count > 0)
//            {
//                foreach (var obj in objs)
//                {
//                    var xmId = Convert.ToInt64(obj["FId"]);
//                    if (xmIdlist.Contains(xmId)) continue;
//                    xmIdlist.Add(xmId);
//                }
//            }
//            return xmIdlist;
//        }
//        /// <summary>
//        /// 通过用户Id获取该用户员工信息
//        /// </summary>
//        /// <param name="userId"></param>
//        /// <returns></returns>
//        DynamicObjectCollection GetEmpInfos(Int64 userId)
//        {

//            DynamicObjectCollection objs = null;
//            var sql = string.Format(@"
//SELECT T3.FID,T3.FNUMBER,T4.FNAME
//FROM T_HR_EMPINFO T3
//INNER JOIN T_HR_EMPINFO_L T4  ON T4.FID=T3.FID AND T4.FLOCALEID=2052
//INNER JOIN T_SEC_USER T5  ON T5.FLINKOBJECT=T3.FPERSONID
//WHERE T5.FUSERID=@userId
//");

//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new Kingdee.BOS.SqlParam("@userId", Kingdee.BOS.KDDbType.Int64, userId));
//            var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//            objs = client.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);

//            return objs;
//        }
//        List<Int64> GetOrgIds(Int64 userId)
//        {
//            var orgIds = new List<Int64>();
//            var sql = string.Format(@"
//SELECT FORGID FROM t_sec_userorg
//WHERE FUSERID=@userId
//");

//            var lst = new List<Kingdee.BOS.SqlParam>();
//            lst.Add(new Kingdee.BOS.SqlParam("@userId", Kingdee.BOS.KDDbType.Int64, userId));
//            var client = new SD.SZGD.K3.ServiceFacade.KDServiceClient.SZGDClientProxy();
//            var objs = client.ExecuteDynamicObject(sql, System.Data.CommandType.Text, lst);
//            foreach (var obj in objs)
//            {
//                var orgId = Convert.ToInt64(obj["FORGID"]);
//                orgIds.Add(orgId);
//            }
//            return orgIds;
//        }
//    }
//}